/*
 * Copyright 2010 Nicolas Martignole.
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless
 * required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES
 * OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions
 * and limitations under the License.
 */

package org.letouilleur.celerio

class Document {
  String id
  String documentContentType
  Integer documentSize
  String documentFileName
  byte[] documentBinary
  Account account

  static belongsTo = Account

  static constraints = {
    documentContentType(blank: false, maxSize: 255)
    // 4ko is the max file size (for instance)
    documentSize(nullable: false, max: 4096) 
    documentFileName(blank: false, maxSize: 255)
    documentBinary()
    account(nullable: true)
  }

  static mapping = {
    id generator:'uuid',column:'documentId',type:'string'	
   }

  def String toString() {
    documentContentType + " " + documentFileName
  }
}